<?php
include('includes/structure.php');

function fks_main() {

fks_recupero_var_sesiones($s_usuario, $s_usuario_tipo, $s_usuario_razonsocial, $s_usuario_nya, $s_perfil,$s_entidad,$s_empresa_razonsocial,$s_tx_perfil);
//fks_imprimo_var_sesiones($s_usuario, $s_usuario_tipo, $s_usuario_razonsocial, $s_usuario_nya, $s_perfil,$s_entidad,$s_empresa_razonsocial,$s_tx_perfil);


$accion = $_POST["accion"];
switch ($accion) {
	case "validar":
		$validacion = true;
		$cd_tipo_cliente = $_POST["cd_tipo_cliente"];
		$cd_entidad_cliente = $_POST["cd_entidad"];
		$tx_nombre = $_POST["tx_nombre"];
		if (!validar_nombre($tx_nombre)) {
				$validacion = false;
				fks_msg_handler(VAL_NOMBRE);};
		//si es una persona, tiene que tener el apellido
		if ($cd_tipo_cliente == "persona") {
			$tx_apellido = $_POST["tx_apellido"];
			if (!validar_nombre($tx_apellido)) {
				$validacion = false;
				fks_msg_handler(VAL_APELLIDO);};
			};
		$cd_domicilio = $_POST["cd_domicilio"];
		$tx_calle = $_POST["tx_calle"];
		$tx_numero = $_POST["tx_numero"];
		$tx_piso = $_POST["tx_piso"];
		$tx_depto = $_POST["tx_depto"];
		$tx_cpostal = $_POST["tx_cpostal"];
		$tx_provincia = $_POST["tx_provincia"];
		$tx_partido = $_POST["tx_partido"];
		$tx_localidad = $_POST["tx_localidad"];
		$cd_linea_i = $_POST["cd_linea_i"];
		$cd_linea_u = $_POST["cd_linea_u"];
		$cd_linea_l = $_POST["cd_linea_l"];
		$cd_producto_tipo = $_POST["cd_producto_tipo"];
		//si el usuario ingreso la linea, debe ser de 10 digitos exactos
		$longitud_linea = strlen($cd_linea_i) + strlen($cd_linea_u) + strlen($cd_linea_l);
			if (($longitud_linea > 0) && ($longitud_linea <> 10)) {
				$validacion = false;
				fks_msg_handler(VAL_LONGITUD_LINEA);};
		if ( ($longitud_linea == 10) && ($cd_producto_tipo == 0) ) {
			$validacion = false;
			fks_msg_handler(VAL_PRODUCTO_TIPO);
			};
		$nu_anio = $_POST["nu_anio"];
		//el usuario no selecciono de la lista la empresa prestadora
		$cd_empresa_prestadora = $_POST["cd_empresa_prestadora"];
			if ($cd_empresa_prestadora == 0) {
				$validacion = false;
				fks_msg_handler(VAL_PRESTADORA);};
		//el usuario no selecciono de la lista el grupo o el motivo
		$tx_motivogrupo = $_POST["tx_motivogrupo"];
		$tx_motivo = $_POST["tx_motivo"];
			if (($tx_motivogrupo == 0) || ($tx_motivo == 0)) {
				$validacion = false;
				fks_msg_handler(VAL_MOTIVO);};
		if(strlen($fc_factura) > 0)
			$fc_factura = substr($_POST["fc_factura"],-4)."-".substr($_POST["fc_factura"],3,2)."-".substr($_POST["fc_factura"],0,2);
		//si el motivo de reclamo contiente la cadena FACT (de facturacion) tiene que seleccionar el vencimiento de la facutra
		$nu_plazo = $_POST["nu_plazo"];
		$fc_vencimiento_plazo = $_POST["fc_vencimiento_plazo"];
		$tx_ingreso = fks_replace($_POST["tx_ingreso"]);
			if (!validar_observaciones($tx_ingreso,LONGITUD_MINIMA_OBSERVACIONES)) {
				$validacion = false;
				fks_msg_handler(VAL_OBS_INGRESO);};
		//validacion de adjuntos
		$tx_filename1 = $_FILES["tx_filename1"]["name"];
		$cd_tipoadjunto1 = $_POST["cd_tipoadjunto1"];
		$tx_descripcion1 = fks_replace($_POST["tx_descripcion1"]);
			if ((!validar_vacio($tx_descripcion1)) && ($cd_tipoadjunto1 == 0) ) {
				$validacion = false;
				fks_msg_handler(VAL_ADJUNTO1);};
		$tx_filename2 = $_FILES["tx_filename2"]["name"];
		$cd_tipoadjunto2 = $_POST["cd_tipoadjunto2"];
		$tx_descripcion2 = fks_replace($_POST["tx_descripcion2"]);
			if ((!validar_vacio($tx_descripcion2)) && ($cd_tipoadjunto2 == 0) ) {
				$validacion = false;
				fks_msg_handler(VAL_ADJUNTO2);};
		$tx_filename3 = $_FILES["tx_filename3"]["name"];
		$cd_tipoadjunto3 = $_POST["cd_tipoadjunto3"];
		$tx_descripcion3 = fks_replace($_POST["tx_descripcion3"]);
			if ((!validar_vacio($tx_descripcion3)) && ($cd_tipoadjunto3 == 0) ) {
				$validacion = false;
				fks_msg_handler(VAL_ADJUNTO3);};
		//defino un array con los tipos de archivos que permitimos subir
		$tipos = array("doc","xls","gif","jpg","jpeg","pdf","tiff","DOC","XLS","GIF","JPG","JPEG","PDF","TIFF");
		//defino un vector que va separando la cadena que representa el nombre del archivo cada vez que encuentra un punto (.)
		$vec_adj1 = explode(".",$tx_filename1);
		$adj1_ext = $vec_adj1[count($vec_adj1)-1];
		if ( (!validar_vacio($adj1_ext)) && (!in_array($adj1_ext, $tipos))) {
			$validacion = false;
			fks_msg_handler(TYPE_ADJUNTO1);
			};
		$vec_adj2 = explode(".",$tx_filename2);
		$adj2_ext = $vec_adj2[count($vec_adj2)-1];
		if ( (!validar_vacio($adj2_ext)) && (!in_array($adj2_ext, $tipos))) {
			$validacion = false;
			fks_msg_handler(TYPE_ADJUNTO2);
			};
		$vec_adj3 = explode(".",$tx_filename3);
		$adj3_ext = $vec_adj3[count($vec_adj3)-1];
		if ( (!validar_vacio($adj3_ext)) && (!in_array($adj3_ext, $tipos))) {
			$validacion = false;
			fks_msg_handler(TYPE_ADJUNTO3);
			};		
		//validamos los tamanios de los archivos, deben ser menor a lo definido en MAX_FILE_SIZE
		$adjunto1_size = $_FILES["tx_filename1"]["size"];
		$adjunto2_size = $_FILES["tx_filename2"]["size"];
		$adjunto3_size = $_FILES["tx_filename3"]["size"];
		if ($adjunto1_size > MAX_FILE_SIZE) {
			fks_msg_handler(SIZE_ADJUNTO1);
			$validacion = false;
			};
		if ($adjunto2_size > MAX_FILE_SIZE) {
			fks_msg_handler(SIZE_ADJUNTO2);
			$validacion = false;
			};
		if ($adjunto3_size > MAX_FILE_SIZE) {
			fks_msg_handler(SIZE_ADJUNTO3);
			$validacion = false;
			};
		if ($validacion) {
			//se valido el formulario y se puede hacer el alta del mismo y el uploead de los archivos en caso de corresponder
			$sql = "call sp_i_reclamo (".$s_usuario.",$cd_entidad_cliente, $tx_motivo, $nu_plazo, '".$fc_factura."', $cd_producto_tipo, '".$cd_linea_i."', '".$cd_linea_u."', '".$cd_linea_l."', $cd_empresa_prestadora,'".$tx_ingreso."',".$cd_domicilio.", null, null, null, null, null, null, null, null);";
			$resultado = dbh_query($sql);
			$nu_reclamo = dbh_fetch($resultado);
			//echo $sql;
			fks_msg_handler(ALTA_RECLAMO_OK);
			echo $nu_reclamo["nu_anio"]."-".$nu_reclamo["cd_reclamo"];
			//hay que subir el archivo 1
			if ((strlen($tx_filename1) > 0) && ($adjunto1_size > 0)) {
				$tmp_name = $_FILES["tx_filename1"]["tmp_name"];
				if (is_uploaded_file($_FILES['tx_filename1']['tmp_name'])) {
					$file_name = $nu_reclamo["nu_anio"]."_".$nu_reclamo["cd_reclamo"]."_".fks_quitar_acentos($_FILES['tx_filename1']['name']);
					copy($_FILES['tx_filename1']['tmp_name'], ATTACH_FOLDER."/".$file_name);
					//llamada al futuro procedimiento
					$sql = "call sp_i_reclamoadjunto (".$nu_reclamo["nu_anio"].",".$nu_reclamo["cd_reclamo"].",".$cd_tipoadjunto1.",'".$file_name."','".$tx_descripcion1."')";
					$resultado = dbh_query($sql);
					}
				else {
					//no se pudo realizar
					};
				};
			//hay que subir el archivo 2
			if ((strlen($tx_filename2) > 0) && ($adjunto2_size > 0)) {
				$tmp_name = $_FILES["tx_filename2"]["tmp_name"];
				if (is_uploaded_file($_FILES['tx_filename2']['tmp_name'])) {
					$file_name = $nu_reclamo["nu_anio"]."_".$nu_reclamo["cd_reclamo"]."_".fks_quitar_acentos($_FILES['tx_filename2']['name']);
					copy($_FILES['tx_filename2']['tmp_name'], ATTACH_FOLDER."/".$file_name);
					//llamada al futuro procedimiento
					$sql = "call sp_i_reclamoadjunto (".$nu_reclamo["nu_anio"].",".$nu_reclamo["cd_reclamo"].",".$cd_tipoadjunto2.",'".$file_name."','".$tx_descripcion2."')";
					$resultado = dbh_query($sql);
					}
				else {
					//no se pudo realizar
					};
				};
			//hay que subir el archivo 3
			if ((strlen($tx_filename3) > 0) && ($adjunto3_size > 0)) {
				$tmp_name = $_FILES["tx_filename3"]["tmp_name"];
				if (is_uploaded_file($_FILES['tx_filename3']['tmp_name'])) {
					$file_name = $nu_reclamo["nu_anio"]."_".$nu_reclamo["cd_reclamo"]."_".fks_quitar_acentos($_FILES['tx_filename3']['name']);
					copy($_FILES['tx_filename3']['tmp_name'], ATTACH_FOLDER."/".$file_name);
					//llamada al futuro procedimiento
					$sql = "call sp_i_reclamoadjunto (".$nu_reclamo["nu_anio"].",".$nu_reclamo["cd_reclamo"].",".$cd_tipoadjunto3.",'".$file_name."','".$tx_descripcion3."')";
					$resultado = dbh_query($sql);
					}
				else {
					//no se pudo realizar
					};
				};
			}
		else {
			//echo "<a href='reclamos_alta.php?cd_entidad=".$_POST["cd_entidad"]."'>Volver al formulario de alta de reclamo</a>";
			include("form_alta_reclamo.php");
			};
		break;
	case "validar_ok":
		break;
	default:
		//formulario por defecto
		include("form_alta_reclamo.php");
	}
} //fin main
?>